#!/usr/bin/python3
# -*- coding: utf-8 -*-

import openpyxl
import os

# r = ReadExcel('cases.xlsx','Sheet1')

os.chdir(os.path.abspath(os.path.dirname(__file__)))

file_name = '提单信息导入模板.xlsx'
# 打开文件
wb = openpyxl.load_workbook(file_name)
# print(wb.get_sheet_names())
# 获取所有的sheet
sheet_names = wb.get_sheet_names()
for sheet_name in sheet_names:
    # print(sheet_name)
    # print(wb.get_sheet_by_name(sheet_name))
    # print(wb[sheet_name])
    sh = wb[sheet_name]
    # 按行读取数据转化为列表
    rows_data = list(sh.rows)
    # print(rows_data)
    # 获取表单的表头信息
    titles = []
    for title in rows_data[0]:
        titles.append(title.value)
    # print(titles)
    # 定义一个空列表用来存储测试用例
    cases = []
    for case in rows_data[1:]:
        # print(case)
        data = []
        for cell in case:  #获取一条测试用例数据
            # print(cell.value)
            data.append(cell.value)
            # print(data)
            # 判断该单元格是否为字符串，如果是字符串类型则需要使用eval();如果不是字符串类型则不需要使用eval()
            if isinstance(cell.value, str):
                data.append(eval(cell.value))
            else:
                data.append(cell.value)
            # 将该条数据存放至cases中
        # print(dict(list(zip(titles,data))))
            case_data = dict(list(zip(titles, data)))
            cases.append(case_data)
    print(cases)
